package com.marvels.financial.collection.service;

import java.util.Map;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.stereotype.Service;

import com.github.pagehelper.PageInfo;
import com.marvels.common.exception.MarvelsBusinessException;
import com.marvels.financial.collection.dto.ReminderDTO;
import com.marvels.financial.collection.dto.UrgentDTO;

/**
 * 催收清单查询服务接口
 * @author zhaosa
 *
 */
public interface CheckListQueryService {
	
	/**
	 * 分页查询入催列表
	 * @param reminderDTO:入催DTO
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public PageInfo<ReminderDTO> selectReminderListByPage(ReminderDTO reminderDTO) throws MarvelsBusinessException;
	
	/**
	 * 查询入催列表总金额
	 * @param reminderDTO
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public String selectReminderTotalSum(ReminderDTO reminderDTO) throws MarvelsBusinessException;
	
	/**
	 * 条件导出入催列表
	 * @param reminderDTO
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public HSSFWorkbook findExcelWorkbook(ReminderDTO reminderDTO) throws MarvelsBusinessException;
	
	/**
	 * 分页查询出催列表
	 * @param urgentDTO：出催DTO
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public PageInfo<UrgentDTO> selectUrgentList(UrgentDTO urgentDTO) throws MarvelsBusinessException;
	
	/**
	 * 查询出催列表总金额
	 * @param urgentDTO：出催DTO
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public String selectUrgentTotalSum(UrgentDTO urgentDTO) throws MarvelsBusinessException;
	
	/**
	 * 条件导出出催列表
	 * @param urgentDTO
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public HSSFWorkbook findUrgentExcelWorkbook(UrgentDTO urgentDTO) throws MarvelsBusinessException;
	/**
	 * 查询筛选条件下拉框的值
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public Map<String, Object> findConditionList()throws MarvelsBusinessException;

}
